The present invention relates generally to a label switching system, and more particularly to an explicit routing method and a packet router in this label switching system.
The label switching is a key technology for actualizing an Intranet/Internet backbone oriented high-speed transfer, traffic load sharing and band control on a full scale. The label switching also functions to match a routing process at an IP level (Layer 3) with a switching process on a lower layer (Layer 2) where ATM, a frame relay, Ethernet etc are conducted, and perform packet forwarding (transmission, exchange and transfer) on Layer 2 according to [labels] attached to IP packets.
Standardization of this label switching are now being promoted as MPLS (Multi Protocol Label Switching) by MPLS-WG of IETF (Internet Engineering Task Force). Further, ITU (International Telecommunication Union) also examines the use of MPLS in IP over ATM (IP/ATM) in the public network.
Generally, the label switching has such a characteristic that the data can be transferred at a high speed, a scalability can be obtained, and a traffic can be easily controlled. An ATM-LSR (ATM Label Switching Router) for actualizing the label switching in the ATM network uses VPI (Virtual Path Identifier) for identifying VP (Virtual Path) and VCI (Virtual Channel Identifier) for identifying VC (Virtual Channel) as labels, and IP packets are mapped (interworking) to ATM layer (Layer 2).
Taking into consideration a situation wherein a great number of ATM networks have already been developed in the field and a multiplicity of ATM systems have been put on the market, for developing the label switching in a real network, it is of much importance to contrive how the existing ATM-Switch architecture is mapped to the label switching. It is also desired that the label switching exhibiting a high compatibility with the existing ATM-Switch architecture, be actualized.
On the other hand, traffic engineering (load sharing) conceived as one of most important applications of MPLS aims at utilizing an efficient and reliable network and at the same time optimizing an activity ratio of network resources. What is requested for attaining this is a (Constraint Base Routing) function of specifying a variety of routes without being limited to the IP routing with respect to MPLS.
Moreover, it is desired for actualizing optimization of the traffic engineering that the traffic engineering be capable of gasping an activity state of the network resources with a variety of hyper structures. Accordingly, the variety of granularity are likewise required of the (CR) function of specifying the many routes provided by MPLS.
It is herein considered to design an architecture for actualizing an LSR (Label Switching Router) as an edge device of MPLS on ATM-Switch base. What is herein focused on is a method of mounting an IP/MPLS forwarding function.
FIGS. 1, 2 and 3 each show an example of architecture of the LSR as the MPLS edge device on ATM-Switch base, wherein the label switching architecture is mapped intact.
The example of architecture shown in FIG. 1 includes a method of incorporating the IP/MPLS forwarding function into a CPU. According to this method, however, the CPU analyzes the packets, searches a routing table and edits a packet header, and therefore high-speed forwarding can not be actualized.
What is given in the example of architecture shown in FIG. 2 is such a method that the IP/MPLS forwarding function (hardware) is mounted at a pre-stage of the CPU, the CPU controls the IP/MPLS forwarding function on the basis of data about results of executing a label distribution protocol and a routing protocol, the IP/MPLS forwarding function resultantly short-cuts the CPU, and the high-speed forwarding is thus actualized.
According to this method, when actualized based on the ATM switch, a common unit needs a new piece of hardware, and there is a problem in terms of a mounting space and a mounting cost as well.
What is given in the example of architecture shown in FIG. 3 is such a method that the IP/MPLS forwarding function (hardware) is mounted in each adapter (an external interface: a package containing one or a plurality of ports, which corresponds to a port group), the CPU controls the IP/MPLS forwarding function on the basis of the data about the results of executing the label distribution protocol and the routing protocol, the IP/MPLS forwarding function resultantly short-cuts the CPU, and the high-speed forwarding is thus actualized.
This method needs an addition of functions to the adapter (the problems in terms of mounting is smaller than a change in the common unit), and, as in the example of architecture shown in FIG. 2, there exists the problem in terms of the mounting space and the mounting cost. Further, both of the adapter at an ingress for the packets and the adapter at an egress for the packets terminate the IP/MPLS, which is redundant control.
An example of architecture shown in FIG. 4 may be considered as an eclectic design of architecture between FIG. 2 and FIG. 3. This is a method, wherein the IP/MPLS forwarding function (hardware) is mounted in an egress for the packets, i.e., in the adapter provided toward a non-MPLS network, the CPU controls the IP/MPLS forwarding function on the basis of the data about the results of executing the label distribution protocol and the routing protocol, the IP/MPLS forwarding function resultantly short-cuts the CPU, and the high-speed forwarding is thus actualized.
This method needs an addition of functions to the adapter (the problems in terms of mounting is smaller than the change in the common unit), and, as in the examples of architecture shown in FIGS. 2 and 3, there exists the problem in terms of the mounting space and the mounting cost. On the system, however, IP/MPLS is terminated by only the adapter at the egress for the packets, and hence the redundant control is not required, which is more advantageous than the example of architecture shown in FIG. 3.
Herein, the label distribution protocol of MPLS will be described. The label distribution protocol is roughly categorized into the following two types as routing methods.
(1) Hop by hop routing: A route is determined (routing) hop by hop based on a routing table.
(2) Constraint Base Routing: This is explicit routing by an ingress node on the basis of routing data and other various items of data, and is also routing in which a variety of system resources such as QoS etc are specified.
Further, the following three protocols are the typical label distribution protocols.
(1) LDP (Label Distribution Protocol: Note that this herein indicates a specific protocol.)
This is a protocol for best-effort communications by hop by hop routing.
(2) CR-LDP (Constraint-Based LSP Setup using LDP)
This is the label distribution protocol capable of performing the explicit routing and QoS communications etc, and is an extension version of LDP.
(3) RSVP Extensions (Extensions to RSVP for LSP Tunnels)
This is the label distribution protocol capable of performing the explicit routing and QoS communications etc, and is an extension version of RSVP.
It is to be noted that OSPF (Open Shortest Path First) is a routing protocol in FIGS. 1 through 4, and is one type of interior gateway protocol (IGP). Further, a forwarder, which terminates MPLS and IP, actualizes MPLS forwarding for the MPLS network and actualizes IP forwarding for the IP network (non-MPLS network).
FIG. 5 shows an example of sequence of the hop by hop routing. As shown in FIG. 5, according to the hop by hop routing, an ingress LSR (an Edge-LSR in an MPLS domain) that detects a trigger for setting an LSP (Label Switched Path) sets, in Label Request message, an FEC (Forwarding Equivalence Class: This indicates an aggregation of packets passing though the LSP, and, at the present, an address prefix having a length of 0˜32 bits and a full host address are defined as FEC elements, and the FEC is an aggregation of the FEC elements.) corresponding to the LSP to be set. The ingress LSR then determines NEXT HOP by searching the routing table with the FEC serving as key data, and transmits Label Request message to this NEXT HOP.
A relay node (an ATM-LSR in an MPLS domain) receiving Label
Request message determines NEXT HOP by searching the routing table with the FEC in the received message serving as key data, and transmits Label Request message to this NEXT HOP.
An egress LSR (an Edge-LSR in an MPLS domain) receiving Label Request message recognizes that the egress LSR is the egress by searching the routing table with FEC in the received message serving as key data, then determines a label used for the LSP, subsequently sets the LSP and also sets the label in Label Mapping message, and transmits it to an upstream LSR.
The relay LSR receiving Label Mapping message sets an LSP to a downstream LSR, determines a label with respect to the upstream LSR which is used for this LSP, then sets the LSP and also sets this label in Label Mapping message, and transmits it to the upstream LSR.
The ingress LSR receiving Label Mapping message sets an LSP to the downstream LSR. The setting of the LSP from the ingress LSR down to the egress LSR is thus completed.
FIG. 6 shows an example of sequence of explicit routing based on CR-LDP. The followings are larger differences of this example from FIG. 5. The ingress LSR detecting the trigger for setting the LSP (Label Switched Path) determines a plurality of LSRs through which the LSP set by a local policy and so forth based on topology data etc passes, then explicitly sets the LSRs in Label Request message (the FEC set at this time is generally “CRLSP” additionally defined by CR-LSP, and it is indicated that the FEC corresponding to this LSP dynamically changes). The ingress LSR similarly determines NEXT HOP by the local policy etc, transmits Label Request message to this NEXT HOP. The relay LSR receiving Label Request message determines NEXT HOP on the basis of the explicit route in the received message, and the egress LSR receiving Label Request message recognizes from the explicit route in the received message that the same LSR itself is an egress.
FIG. 7 shows an example of sequence of explicit routing based on RSVP Extensions. The followings are large differences of this example from FIG. 6. LDP explicitly sets a session on TCP, while RSVP Extensions tacitly set the session. Label Request message and Label Mapping message are replaced respectively with Path message and Reserve message.
In the LSR adopting the system architecture shown in FIG. 4, if considering the LSP based on the label distribution protocol, the MPLS architecture can not be mapped well to the system architecture shown in FIG. 4 for reasons which follow.
(1) According to a concept of MPLS that is being now developed in IETF, the egress node terminates MPLS, then determines an output port in accordance with IP routing (forwarding), and forwards the packets.
(2) According to Explicit Routing (based on both of CR-LDP and RSVP Extensions) of MPLS that is nor being developed in IETF, a node or an aggregation of nodes through which the packets pass, is or are specified.
(3) In the system architecture shown in FIG. 4, an IP forwarding engine is mounted in the adapter, and hence it is required that not the egress node but the adapter of the egress node terminates IP/MPLS.
To be specific, the label distribution protocols of both of hop by hop routing and Explicit Routing are incapable of indicating an intra-system specified adapter or port, and it is therefore unfeasible to set the LSP in which the specified adapter of the egress node is a terminal.
In the case of hop by hop routing based on LDP, FEC is specified in Label Request message, and, according to a present version of LDP, only one FEC element is allowed as FEC in the message. Therefore, the egress node is capable of specifying the egress node from this FEC.
Further, as described above, a minimum unit of a hyper structure for specifying the explicit route of present MPLS, is a node. It might be herein considered that the hyper structure capable of specifying a given port and a given group of the node in addition to the specifying on the node basis.